/**
 * 初始化数慧消息中心
 */
import store from '@/store'

const isUse = window.config.VUE_APP_IC_USE + '' === 'true'

export function initDistIc () {
  if (isUse) {
    const httpServiceUrl = window.config.VUE_APP_IC_SERVER_URL
    const websocketServiceIp = window.config.VUE_APP_IC_SERVER_IP
    const websocketPort = window.config.VUE_APP_IC_SERVER_PORT
    window.distIc = {
      httpServiceUrl: httpServiceUrl,
      websocketServiceIp: websocketServiceIp,
      websocketPort: websocketPort,
      websocketOpenState: false
    }
    import('@/core/distIc/distTio').then(() => {
      const userInfo = store.getters.getUserInfo
      if (tio) {
        tio.distTio.eventHub = window.$distApp.eventHub
        startDistIc(userInfo.loginName || 'admin')
      } else {
        console.error('消息中心初始化失败')
      }
    })
  }
}

export function startDistIc (userId) {
  // 消息中心握手连接
  const param = {
    // 必填：消息中心服务器地址
    serverIp: window.distIc.websocketServiceIp,
    // 必填：消息中心服务器端口
    serverPort: window.distIc.websocketPort,
    // 必填：需要消息中心先新建并拿到标识(客户端管理端应用需要初始化/其他应用需要在应用管理创建应用并拿到标识)
    appId: window.config.VUE_APP_IC_APP_ID,
    // 选填：分组消息发送标识
    groupId: 'IC-MANAGER',
    // 选填：用户消息发送标识（一般用用户登录名）
    userId: userId,
    // 选填：单机标识
    singleId: null
  }
  tio.distTio.handshake(this, param)
}
